package java_thinking.unit_10._10_5.Exercise_10_5;

import java_thinking.unit_10._10_4.Exercise6.P1.SimpleInterface;

/**
 * @Description : 创建一个至少有一个方法的接口，在方法内定义一个内部类以实现前面的接口，这个方法返回对此接口的引用
 * @author: cww
 * @DateTime: 2019-03-10 11:50
 */

class E9 {
    public SimpleInterface get(){
        class SI implements SimpleInterface{
            @Override
            public void f(){
                System.out.println("SI.f");
            }
        }
        return new SI();
    }

    public static void main(String args[]){
        SimpleInterface si = new E9().get();
    }

}

/**
 * 将内部类定义在某个方法的作用域内
 */
class E10{
    public SimpleInterface get(){
        {
            class SI implements SimpleInterface{
                public void f(){
                    System.out.println("SI.f");
                }
            }
            return new SI();
        }
    }

    public static void main(String[] args) {
        SimpleInterface simpleInterface = new E10().get();
    }
}